#coding:utf-8
import sys
from PyQt5 import uic
from PyQt5.QtWidgets  import QApplication
from PyQt5.QtWidgets import QMainWindow

class Calc(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.x = None
        self.y = None 
        self.result = None 
        self.operator = None 
        self.equal = None 
        self.clear = None 
        uic.loadUi('calc.ui',self)
        btns = [

                    self.pushButton0,
                    self.pushButton1,
                    self.pushButton2,
                    self.pushButton3,
                    self.pushButton4,
                    self.pushButton5,
                    self.pushButton6,
                    self.pushButton7,
                    self.pushButton8,
                    self.pushButton_sub,
                    self.pushButton9,
                    self.pushButton_clear,        
                    self.pushButton_add,
                    self.pushButton_div,
                    self.pushButton_mul,
                    self.pushButton_dot,
                    self.pushButton_equal
                    ]
        map(lambda btn:btn.clicked.connect(self.click_on_button),btns)
    def calculate(self):
        '''
        如果x,y,operator不为空,计算结果
        '''
        if self.x and self.y and self.operator:
            self.result = str(eval('%s%s%s'%(self.x,self.operator,self.y)))
            self.text_result.setText(self.result)
        
    def click_on_button(self):
        value = self.sender().text()
        if value in '0123456789.':
            print '您点击的数字是:',value
        elif value in '+-*/':
            print value
        elif value == '=':
            print '='
        elif value == 'C':
            print 'clear'
            self.clear()

    def clear(self):
        print 'clear'
if __name__ == '__main__':    
    app = QApplication(sys.argv)
    calc = Calc()
    calc.show()
    
    calc.calculate()
    print calc.calculate(),'a'
    app.exec_()




